package com.sskj.spk.http;


import com.lzy.okgo.request.GetRequest;
import com.lzy.okgo.request.PostRequest;
import com.sskj.common.base.HttpData;
import com.sskj.common.http.WebSocketObserver;
import com.sskj.lib.bean.PageBean;
import com.sskj.lib.bean.StockCoinBean;
import com.sskj.spk.bean.AppVersionBean;
import com.sskj.spk.bean.ChartViewCj;
import com.sskj.spk.bean.LevelVolumeBean;
import com.sskj.spk.bean.MainBannerBean;
import com.sskj.spk.bean.NoticeList;
import com.sskj.spk.bean.SocketBean;
import com.sskj.spk.bean.SummaryBean;

import java.util.List;

/**
 * 作者 :吕志豪
 * 简书：https://www.jianshu.com/u/6e525b929aac
 * github：https://github.com/lvzhihao100
 * 描述：
 * 创建时间：2018-10-15 14:08
 */
public interface IHttpService {

    /**
     * 获取Banner图
     */
    GetRequest<HttpData<MainBannerBean>> getBannerImage();
    /**
     * 公告列表
     */
    PostRequest<HttpData<PageBean<NoticeList>>> getGGList(int number);
    /**
     * 获取杠杆成交量数据
     *
     * @param code
     * @return
     */
    GetRequest<HttpData<ChartViewCj>> getLevelVolumeList(String code, int page);
    /**
     * 获取杠杆成交量数据 -- 币币
     *
     * @param code
     * @return
     */
    GetRequest<HttpData<List<LevelVolumeBean>>> getLevelVolumeListBb(String code, int page);
    /**
     * 获取产品信息
     *
     * @param code
     * @return
     */
    GetRequest<HttpData<List<StockCoinBean>>> getProduct(String code);
    /**
     * 根据币种推送
     *
     * @param code 币种类型
     * @return
     */
    WebSocketObserver pushCoinType(String code);

    WebSocketObserver pushCoinFive(String code);

    PostRequest<HttpData<AppVersionBean>> getVersion();

    GetRequest<HttpData<SummaryBean>> getSummary(String code);

    GetRequest<HttpData<SocketBean>> getSocket();
}